#ifndef __OLED_H
#define __OLED_H

#include "stm32f1xx_hal.h"

//CS      PA4
//SCLK    PA5
//DC      PC7
//MOSI    PA7
//RST     PC6

 
#define RES_Clr() HAL_GPIO_WritePin(RES_GPIO_Port,RES_Pin,GPIO_PIN_RESET)//RES
#define RES_Set() HAL_GPIO_WritePin(RES_GPIO_Port,RES_Pin,GPIO_PIN_SET)
 
#define DC_Clr() HAL_GPIO_WritePin(GPIOA,DC_Pin,GPIO_PIN_RESET)//DC
#define DC_Set() HAL_GPIO_WritePin(GPIOA,DC_Pin,GPIO_PIN_SET)

#define CS_Clr()  HAL_GPIO_WritePin(GPIOA,NSS_Pin,GPIO_PIN_RESET)//CS
#define CS_Set()  HAL_GPIO_WritePin(GPIOA,NSS_Pin,GPIO_PIN_SET)


#define OLED_CMD    0  
#define OLED_DATA    1 

#define u8 unsigned char
#define u32 unsigned int

void OLED_ClearPoint(u8 x,u8 y);
void OLED_ColorTurn(u8 i);
void OLED_DisplayTurn(u8 i);
void OLED_WR_Byte(u8 dat,u8 cmd);
void OLED_DisPlay_On(void);
void OLED_DisPlay_Off(void);
void OLED_Refresh(void);
void OLED_Clear(void);
void OLED_DrawPoint(u8 x,u8 y);
void OLED_DrawLine(u8 x1,u8 y1,u8 x2,u8 y2);
void OLED_DrawCircle(u8 x,u8 y,u8 r);
void OLED_ShowChar(u8 x,u8 y,u8 chr,u8 size1);
void OLED_ShowString(u8 x,u8 y,u8 *chr,u8 size1);
void OLED_ShowNum(u8 x,u8 y,u32 num,u8 len,u8 size1);
void OLED_ShowChinese(u8 x,u8 y,u8 num,u8 size1);
void OLED_ScrollDisplay(u8 num,u8 space);
void OLED_WR_BP(u8 x,u8 y);
void OLED_ShowPicture(u8 x0,u8 y0,u8 x1,u8 y1,u8 BMP[]);
void OLED_Init(void);
#endif
